package com.suanfa.sort;

import com.suanfa.util.ArrayUtils;

/**
 * 选择排序
 * 每次从剩余数组中找到最小的元素，放到第一个位置
 */
public class SelectSort {

    public static void main(String[] args) {
        int[] arr={ 49, 38, 65, 97, 23, 22, 76, 1, 5, 8, 2, 0, -1, 22};
        selectSort(arr);
        ArrayUtils.printArray(arr);
    }

    public static void selectSort(int[] arr){
        for(int i =0; i< arr.length; i++){
            int cur = arr[i];
            int min = arr[i];
            int index = i;
            for(int j= i+1; j<arr.length; j++){
                int next = arr[j];
                if(min > next){
                    min = next;
                    index = j;
                }
            }
            arr[i] = min;
            arr[index] = cur;
        }
    }
}
